Personal safety tracking using an apparatus comprising multiple sensors

ABSTRACT

A system and method for facilitating personal safety tracking via an apparatus with multiple sensors are disclosed. The sensors may include a water sensor, an accelerometer, a water pressure sensor, an ambient temperature sensor, and/or any other sensors. The apparatus may be configured to generate various alerts in response to signals generated by the sensors. For example, the apparatus may generate a drowning alert when a submersion signal is generated and a drowning acceleration signature is detected in the same period. As another example, an abduction alert may be generated when an abduction acceleration signature and an out-of-boundary situation is detected for the apparatus. The alerts generated by the apparatus may be transmitted to a server or a client device associated with the apparatus for further processing, which may include generating a notification for presentation on the client device in response to an alert being received from the apparatus.

FIELD OF THE INVENTION

The invention generally relates to facilitating personal safetytracking.

BACKGROUND OF THE INVENTION

We live in a world full of hazards that may endanger our childrenunexpectedly. For example, over-temperature is a hazardous conditionwhen the ambient temperature increases significantly to causehyperthermia to a child. Likewise, under-temperature is a hazardouscondition when the ambient temperature decreases significantly to causehypothermia to a child. By way of example, over-temperature may occur ina heated kitchen area, near a fireplace or a campfire, in a parked caror a room with a damaged air heater; and under-temperature may occur ina situation such as in a locked car in cold weather or in a room with adamaged air conditioner. Another example of a hazard would involvenatural or manmade bodies of water like lakes, ponds, puddles, beaches,rivers, waterfalls or manmade water hazardous like a swimming pool,Jacuzzi, hot tub, and/or fountain. Children, especially younger ones,are susceptible to drowning due in part to their inability to perceivepotential dangers associated with those bodies of water. We also live ina world where children are abducted. Avoiding the above mentionedhazards and threats is not an easy task for any parent.

SUMMARY OF THE INVENTION

In accordance with one aspect of the invention, a system and method forfacilitating personal tracking via an apparatus are disclosed. Theapparatus may comprise multiple sensors that can detect events orchanges in an environment the apparatus is exposed to. In some examples,the apparatus comprises a water sensor configured to detect that theapparatus is submerged into a body of water and to generate a submersionsignal when such an event is detected; an accelerometer configured tomeasure acceleration of the apparatus and to generate an accelerationsignal reflecting the acceleration of the apparatus; and/or any othersensors. In those examples, the apparatus may be configured to detectwhether a drowning situation has occurred based on the submersion andacceleration signals; and if the apparatus detects that the drowningsituation has occurred, the apparatus may generate a drowning alert forpresentation on a client device associated with the apparatus. In oneembodiment, without limitation, the apparatus is a wearable device andthe client device is a mobile device such as a smartphone. In thatembodiment, the drowning alert generated by the apparatus is transmittedover a communications network to the client device.

In some examples, the apparatus is configured to detect at least one ofan abduction acceleration signature and a neutral acceleration signaturebased on the acceleration signals generated by the accelerometer. Theneutral acceleration signature detected by the apparatus may reflect apattern of acceleration by the apparatus, such as walking, running,biking, or riding in a vehicle. The abduction acceleration signaturegenerated by the apparatus may reflect a pattern of abnormalacceleration by the apparatus within a time period that indicates theuser carrying the apparatus may be subject to an abduction situation.

In some examples, the apparatus comprises a geo-location receiverconfigured to receive geo-location signals and to determine locationcoordinates of the apparatus. In those examples, the apparatus may beconfigured to receive location boundary information for boundaries ofone or more areas, for example, from the client device or from a server;and to determine whether the apparatus is outside a boundary of the oneor more areas by comparing the location coordinates and locationparameters indicated by the location boundary information. In oneembodiment, without limitation, the apparatus is configured to generatea wandering alert when it determines that the apparatus is outside theboundary of the one or more areas and detects the neutral accelerationsignature in the same time period. In one embodiment, the apparatus isconfigured to generate an abduction alert when it determines that theapparatus is outside the boundary of the one or more areas and detectsthe abduction acceleration signature in the same time period.

In some examples, the apparatus comprises a water pressure sensorconfigured to measure water pressure and to generate a depth signalindicating a depth of the apparatus in a body of water into which theapparatus is submerged. In those examples, the apparatus may beconfigured to detect a drowning situation (e.g., sinking) when the depthof the apparatus exceeds a predetermined depth and the accelerationsignal matches a neutral acceleration signature during the same timeperiod.

In some examples, the apparatus comprises an ambient temperature sensorconfigured to measure ambient temperature and to generate ambienttemperature signals indicating the measured ambient temperature. Inthose examples, the apparatus may be configured to determine that theambient temperature has exceeded an upper ambient temperature thresholdfor a predetermined time period and generate an over-temperature alertin response to a determination of that condition; and/or to determinethat the ambient temperature has fallen below a lower ambienttemperature threshold for a predetermined time period and generate anunder-temperature alert in response to a determination of thatcondition.

In some examples, the apparatus may comprise a body temperature sensorconfigured to measure the body temperature of a user carrying theapparatus and generate a body temperature signal indicating such ameasurement. In some examples, the apparatus may be configured to detectthat the body temperature of the user, as indicated by the bodytemperature signal, exceeds a predetermined upper-limit body temperatureand to generate a hyperthermia alert when such an event is detected. Inother examples, the apparatus may be configured to detect that the bodytemperature of the user, as indicated by the body temperature signal,drops below a predetermined lower-limit body temperature and to generatea hypothermia alert when such an event is detected.

In some examples, the apparatus may comprise a heart rate sensorconfigured to measure the heart rate of a user carrying the apparatusand generate a heart rate signal indicating such a measurement. In thoseexamples, the apparatus may be configured to detect that the heart rateof the user, as indicated by the heart rate signal, exceeds apredetermined upper-limit heart rate and to generate an over-heart-ratealert when such an event is detected. In those examples, the apparatusmay be configured to detect that the heart rate of the user, asindicated by the heart rate signal, falls below a predeterminedlower-limit heart rate and to generate a low-heart-rate alert when suchan event is detected. In some examples, the apparatus may comprise abarometer configured to measure atmospheric pressure of the environmentthe apparatus is exposed to.

Another aspect of the disclosure relates to generating notificationsbased on various situations detected by multiple of the apparatusdescribed above. The alerts generated by the apparatus as describedabove may be wirelessly transmitted to a server for further processingand/or management. The server may be configured to communicate with theclient devices associated with the apparatuses. The server mayintelligently determine, based on predetermined rules, whether anotification should be generated based on the reception of one or morealerts from a given apparatus. For example, the server may be configuredto determine whether an abduction notification should be generated andtransmitted to a client device associated with the given apparatus forpresentation when an abduction alert is received from the givenapparatus. For instance, the server may be configured to determine thatthe number of times such an alert is received from the given apparatuswithin a predetermined period has exceeded a predetermined threshold,and to generate an abduction notification to the client deviceassociated with the given apparatus when such an event is determined bythe server. As another illustration, the server may be configured toreceive user preferences regarding the generation of the notificationswhen the signals and/or alerts are received from the apparatuses.

Still another aspect of the disclosure relates to tracking the apparatusdescribed above. In one embodiment, the client device is facilitated totrack multiple of the apparatus described above as a group. In thatembodiment, a notification or alert regarding the group may be presentedon the client device. For example, the client device may be facilitatedto track locations of a group of the apparatuses and present an alertwhen one or more of the apparatuses in the group are outside an area orin close proximity to a restricted location.

These and other features and characteristics of the present technology,as well as the methods of operation and functions of the relatedelements of structure and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification,wherein like reference numerals designate corresponding parts in thevarious figures. It is to be expressly understood, however, that thedrawings are for the purpose of illustration and description only andare not intended as a definition of the limits of the invention. As usedin the specification and in the claims, the singular form of “a”, “an”,and “the” include plural referents unless the context clearly dictatesotherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 generally illustrates one exemplary system facilitating personaltracking via an apparatus in accordance with the disclosure.

FIG. 2 illustrates one example of the apparatus shown in FIG. 1 inaccordance with the disclosure.

FIG. 3A illustrates a submersion signal is not generated by an exemplarywater sensor as shown in FIG. 2 when the water sensor is partiallyexposed to water.

FIG. 3B illustrates a submersion signal is generated by the exemplarywater sensor as shown in FIG. 2 when the water sensor is submerged intoa body of water.

FIG. 4 illustrates one example of an accelerometer shown in FIG. 2.

FIG. 5 illustrates one exemplary configuration of the processor shown inFIG. 2.

FIG. 6 illustrates an exemplary process for generating a drowning alert.

FIG. 7 illustrates another exemplary process for generating a drowningalert.

FIG. 8 illustrates a flow diagram of one exemplary process forgenerating a wandering alert and an abduction alert in accordance withthe disclosure.

FIG. 9 illustrates one example of an interface provided by the clientdevice shown in FIG. 1 for configuring the tracking and settings of theapparatus shown in FIG. 1.

FIG. 10 illustrates an interface implemented on the client device shownin FIG. 1 enabling the user of the client device to monitor the users ofapparatuses associated with the client device as a group.

DETAILED DESCRIPTION

FIG. 1 generally illustrates an exemplary system 100 configured forfacilitating personal tracking via an apparatus in accordance with thedisclosure. As shown in FIG. 1, individual apparatuses 102 may beconfigured to communicate with client devices 104, a server 106, avehicle 108 and/or any other entity associated with the apparatuses 102via a communications network 110. A portion of, or the entirecommunications network 110, may include a wireless communication channelsuch as, but not limited to, Radio, Cellular (e.g., LTE), Bluetooth,WIFI, Infrared Laser, and/or any other type of wireless communicationchannel. As also shown, the apparatuses 102 may be configured tocommunicate with one or more of a location facility such as thesatellite 112 shown in FIG. 1 or a reference station (not shown) thatprovides reference information for improving the accuracy of locationdetermination to acquire location signals relating to the locations ofthe apparatuses 102.

The apparatuses 102 such as the apparatuses 102 a, b and n shown in FIG.1 may comprise multiple sensors configured to detect events or changesin an environment that the apparatuses 102 are exposed to. The sensorsmay include a water sensor, an ambient temperature sensor, anaccelerometer, a water pressure sensor, a body temperature sensor, aheart-rate sensor, a barometer, and/or any other sensors. Theapparatuses 102 may be configured to generate alerts regarding varioussituations encountered by the users carrying the apparatuses 102. Thealerts generated by a given apparatus 102 may include a drowning alert,a wandering alert, an abduction alert, an over-temperature alert, anunder-temperature alert, a heart-rate alert, a body temperature alert(e.g., a hyperthermia alert or a hypothermia alert), and/or any otheralerts. In one embodiment, the apparatus 102 is a wearable device thatmay be worn by the user, for example, on his/her wrist, ankle, waist, orneck, or clipped to or inside the clothing of the user. However, this isnot necessarily the only case. Other designs of apparatus 102, such as aportable device or a device that can be attached to the user's clothing,are contemplated.

The client devices 104, such as client devices 104 a-b shown in FIG. 1,may be associated with the individual apparatuses 102 such that thealerts generated by the individual apparatuses 102 may be processedand/or presented by the corresponding client devices 104. Examples of aclient device 104 may include a smart phone, a tablet, a hand-helddevice, a netbook, a laptop computer, a desktop computer, a displaydevice, a television set, a monitor, and/or any other type of clientdevice 104.

The server 106 may be configured to receive the alerts generated by theapparatuses 102, manage the individual apparatuses 102, manage useraccounts of the users associated with the individual apparatuses 102,manage the alerts received from the apparatuses 102, generatenotifications for presentation on the client devices 104 in response tothe alerts received from the apparatuses 102, provide interfaces forusers to access the alerts from the apparatuses 102 and/or perform anyother operations. The server 106 may be configured to communicate withthe client devices 104 associated with the apparatuses 102. The server106 may intelligently determine, based on predetermined rules, whether anotification should be generated for presentation on the client devices104 based on one or more alerts received from a given apparatus 102. Forexample, the server 106 may be configured to determine whether anabduction notification should be generated and transmitted to a clientdevice 104 associated with the given apparatus for presentation when anabduction alert is received from the given apparatus 102. For instance,the server may be configured to determine that the number of times suchan alert is received from the given apparatus 102 within a predeterminedperiod has exceeded a predetermined threshold, and generate an abductionnotification to the client device associated with the given apparatus102 when such an event is determined by the server 106. As anotherillustration, the server 106 may be configured to receive userpreferences regarding the generation of the notifications when thesignals and/or alerts are received from the apparatuses 102. In oneembodiment, the server 106 is a cloud server that provides online accessto the status of the apparatuses 102, locations of the apparatuses 102,and alerts generated by the apparatuses 102.

Also shown in FIG. 1 is a vehicle 108, which may be configured toreceive commands from the apparatuses 102, client devices 104, and/orserver 106 in response to one or more of the alerts generated byapparatuses 102. The vehicle 108 may comprise a mechanism to perform oneor more operations in response to the received commands. For example,the vehicle 108 may comprise a micro-processor configured to receive an“open window” command from the client device 104 b via the network 110in response to an over-temperature alert generated by the apparatus 102a. In response to the reception of the “open window” command, themicro-processor in the vehicle 108 may effectuate the performance the“open window” operation by issuing an instruction to a window actuatoror the power window system of the vehicle instructing it to open thewindow of the vehicle 108.

With the system 100 having been generally described, attention is nowdirected to FIG. 2. FIG. 2 illustrates one example of the apparatus 102in accordance with the disclosure. In this example, the apparatus 102 isa wearable device that may be worn by a user on his/her wrist. As shown,the apparatus 102 may comprise multiple sensors coupled to the processor210 such as water sensor 202, ambient temperature sensor 204,accelerometer 206, water pressure sensor 208, and/or any other sensors(e.g., heart-rate sensor, body temperature sensor, barometer, etc.).

The water sensor 202 may be configured to generate a submersion signalby using the basic conduction property of water. In some examples, thewater sensor 202 consists of two electrical contacts and the watersubmersion signal is generated when a conductive path is providedbetween the two electrical contacts. FIGS. 3A-B illustrate one exampleof the water sensor 202 comprising a first electrical contact 302 and asecond electrical contact 304 in accordance with the disclosure. At thefirst contact 302, an electrical pulse 306 may be transmittedperiodically. As shown in FIG. 3A, when the sensor 202 is exposed torain 305, partially exposed to water or no water at all, a conductivepath is not established between the first electrical contact 302 and thesecond electrical contact 304. In that situation, the electrical pulse306 cannot be received at the second electrical contact 304 since thereis no conductive path between the two electrical contacts. As shown inFIG. 3B, when the sensor 202 is submerged in a body of water 310, theconductive path 308 between the first electrical contact 302 and thesecond electrical contact 304 is established, and the electrical pulse306 is received at the second electrical contact via the path 308. Thewater sensor 202 may be configured to generate a submersion signal whenthe electrical pulse is detected at the second electrical contact 304.The water sensor 202 may be configured to send the submersion signal tothe processor 210 when the submersion signal is generated.

Returning to FIG. 2, the ambient temperature sensor 204 may beconfigured to measure ambient temperature and to generate signalsreflecting the measured ambient temperature. In one embodiment, withoutlimitation, the ambient temperature sensor 204 used in the apparatus 102is TMP102 from Texas Instruments. In that embodiment, on sensingabnormal temperatures (too high or too low), the ambient temperaturesensor 204 sends an alert signal to the processor 210.

The accelerometer 206 may be configured to measure acceleration of theapparatus 102 and to generate an acceleration signal reflecting themeasured acceleration. The accelerometer 206 may be configured tomeasure translational accelerations and/or the rotational accelerationsof the apparatus 102. FIG. 4 illustrates one example of accelerometer206 in accordance with the disclosure. As shown, translationalaccelerations in X, Y, and Z directions may be measured by theaccelerometer 206 in that example. In one embodiment, withoutlimitation, the accelerometer 206 used in the apparatus 102 is MMA7660FCfrom Freescale.

Returning to FIG. 2, the water pressure sensor 208 may be configured tomeasure water pressure and to generate a depth signal based on themeasured water pressure. In some examples, the water pressure sensor 208includes a mechanical gauge. In some examples, the water pressure sensor208 includes a pressure transducer such as a piezoresistive silicontransducer and is configured to measure water pressure by detecting achange in resistance of the resistors on the silicon die of thetransducer.

It should be understood that the various sensors described above asbeing included in the exemplary apparatus 102 shown FIG. 2 are notintended to be limiting. In some other examples, the apparatus 102 mayinclude greater or fewer sensors than those shown in FIG. 2. Forexample, the apparatus 102 may not include ambient temperature sensor204 in some implementations. For example, the apparatus 102 may includea body temperature sensor configured to measure a body temperature of auser carrying the apparatus 102, a heart rate sensor configured tomeasure a heart rate of the user carrying the apparatus 102 and togenerate a heart rate signal indicating such measurement, a barometerconfigured to measure atmospheric pressure of the environment theapparatus is exposed to and/or any other sensors that are notillustrated in FIG. 2.

The geo-location receiver 212 may be configured to receive geo-locationsignals from a location facility such as the satellite 112 shown FIG. 1and to process the received geo-location signals. As shown, thegeo-location receiver 212 may receive the geo-location signals via theantenna 218 a included in apparatus 102. In some examples, thegeo-location receiver 212 may be configured to determine geo-locationcoordinates indicating the location of the apparatus based on thereceived geo-location signals and to provide the determined geo-locationcoordinates to the processor unit 210 for further processing. In oneembodiment, without limitation, the geo-location receiver 212 used inthe apparatus 102 is SIM908 from SIMCOM.

The processor 210 may be configured to implement one or more programcomponents such that the processor 210 may receive signals from thevarious sensors described above and generate alerts based on thereceived signals. In one embodiment, without limitation, the processor210 used in the apparatus is tSTM32F051R4T6 from STMicroelectronics.FIG. 5 illustrates one exemplary configuration of the processor 210. Itwill be described with reference to FIGS. 1-4. As shown in FIG. 5, themodules implemented by the processor 210 may include a drowning alertgeneration component 502, an acceleration signature detection component504, a geo-location boundary determination component 506, a wanderingalert generation component 508, an abduction alert generation component510, a water depth determination component 512, a ambient temperaturealert generation component 514, and/or any other components.

The drowning alert generation component 502 may be configured togenerate a drowning alert based on the submersion signal generated bythe water sensor 202, the acceleration signal generated by theaccelerometer 204, and/or any other signals. In implementations, thedrowning alert generation component 502 may be configured to receive,periodically or non-periodically, the submersion signals from the watersensor 202, the acceleration signals from the accelerometer 204, and/orany other signals. In some examples, the drowning alert generationcomponent 502 may be configured to determine that drowning signature ismatched based on the acceleration of the apparatus 102 as indicated bythe acceleration signals when the submersion signal is received. Forinstance, the drowning alert generation component 502 may be configuredto obtain one or more predetermined drowning signatures from anelectronic storage coupled to the processor 210, compare theacceleration of the apparatus 102 within a time period with the one ormore drowning signatures, and determine that an acceleration signatureis matched if the acceleration of the apparatus 102 within the timeperiod matches one of the one or more predetermined drowning signatures.In those examples, the drowning alert generation component 502 may beconfigured to detect that a drowning situation has occurred in responseto the determination that the drowning signature is matched, andgenerate a drowning alert in response to the detection of the drowningsituation.

FIG. 6 illustrates an exemplary process 600 for generating a drowningalert. The operations of method 600 presented below are intended to beillustrative. In some embodiments, method 600 may be accomplished withone or more additional operations not described and/or without one ormore of the operations discussed. Additionally, the order in which theoperations of method 600 are illustrated in FIG. 6 and described belowis not intended to be limiting.

In some embodiments, method 600 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 600 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 600.

At an operation 602, a submersion signal may be received. As describedabove, the submersion signal may be generated by a water sensor such asthe water sensor 202 when the apparatus 102 is submerged into a body ofwater. In some implementations, operation 602 may be performed by adrowning alert generation component the same as or substantially similarto the drowning alert generation component 502 described and illustratedherein.

At an operation 604, a counter may be incremented to keep a track of thenumber of times the submersion signal is received within a time period.For example, the counter may be used to keep a track of the number oftimes the submersion signal is received within a 5 second, 10 second, 30second, or any other time period. Initially the counter may be set to 0at the beginning of the time period. Every time when the submersionsignal is received at operation 602 during the time period, the countermay be incremented by 1 at operation 604. In some implementations,operation 604 may be performed by a drowning alert generation componentthe same as or substantially similar to the drowning alert generationcomponent 502 described and illustrated herein.

At a decision 606, the value of the counter is compared with a thresholdvalue. The threshold value may be preconfigured by the user (e.g., aparent), manufacturer, an administrator, a safety personnel and/or anyother entity related to the apparatus 102. In some examples, the clientdevice 104 associated with the apparatus 102 may include an input meansand an interface for setting various configurations of the apparatus 102including the threshold value used by the decision 606. For example, thethreshold value may be set to 10 from the client device 104. As shown,in the case where the counter value has not exceeded the threshold valueas determined by decision 606, the process 600 proceeds back tooperation 602; and in the case where the counter value has exceeded thethreshold value, the process 600 proceeds to decision 608. In someimplementations, operation 606 may be performed by a drowning alertgeneration component the same as or substantially similar to thedrowning alert generation component 502 described and illustratedherein.

At decision 608, it is determined whether an acceleration signal isreceived in the same time period during which the number of submersionsignals received has exceeded the threshold value as determined bydecision 606. As shown, in the case where it is determined that theacceleration signal is received during the same time period, whichindicates the apparatus is accelerating during the same time period, theprocess 600 proceeds to decision 610; and in the case where it isdetermined that the acceleration signal is not received during the sametime period, the process proceeds back to operation 602. In someimplementations, decision 608 may be performed by a drowning alertgeneration component the same as or substantially similar to thedrowning alert generation component 502 described and illustratedherein.

At decision 610, a determination whether a drowning accelerationsignature is matched by the acceleration of the apparatus 102 may bemade after it is determined that the number of submersion signalsreceived during the time period has exceeded the preset threshold valueand at least an acceleration signal is received during that time period.In implementations, decision 610 may involve obtaining one or morestored drowning acceleration signatures from an electronic storageincluded in or coupled to the apparatus 102, such as flash memory. Theone or more drowning signatures may be set and stored by a user (e.g., aparent), the manufacturer of the apparatus 102, an administrator of asafety standards body or service provider, and/or any other entityrelated to the apparatus 102. A given one of the stored drowningsignatures may indicate an acceleration pattern that indicates adrowning situation may have occurred. For example, without limitation,the given stored drowning signature may indicate an acceleration patternin a right-left-down-right-left-right sequence within a span of a 5second time period, an acceleration pattern involving 3 translationalaccelerations and 2 rotational acceleration within a span of 3 seconds,or any other acceleration pattern indicating quick movements within ashort time period which may indicate the user carrying the apparatus 102is thrashing.

The decision 610 may involve operation(s) of comparing the accelerationsignal(s) received during the time period with the one or more storeddrowning signatures. For example, an acceleration pattern of theapparatus within the time period may be determined from the accelerationsignal(s) received during the time period. As illustrated in FIG. 4, theacceleration signal(s) received during the time period may reflectacceleration by the apparatus 102 in translational and/or rotationaldirections during the time period. For example, the acceleration signalsmay be in the form of voltages corresponding to X, Y, and Z axes andbased on such, acceleration by the apparatus 102 may be determined. Thedetermined acceleration pattern may then be compared with the one ormore stored drowning signatures. As shown in FIG. 6, in the case where adrowning acceleration signature is matched, the process proceeds tooperation 612, and in the case where a drowning acceleration signatureis not matched, the process proceeds back to operation 602. In someimplementations, decision 610 may be performed by a drowning alertgeneration component the same as or substantially similar to thedrowning alert generation component 502 described and illustratedherein.

At operation 612, a drowning alert is generated in response to thedrowning acceleration signature being matched at decision 610. Also atoperation 612, the counter is reset to 0. In some implementations,operation 612 may be performed by a drowning alert generation componentthe same as or substantially similar to the drowning alert generationcomponent 502 described and illustrated herein.

The process 600 described above provides a way to detect a drowningsituation when both submersion signal(s) and acceleration signal(s) arereceived during the same time period. In the case where a submersionsignal is not received or is received fewer times than the presetthreshold number of times during the time period, a drowning alert isnot generated regardless whether the acceleration signal(s) is receivedduring the same time period. This may avoid a false drowning alert whenthe user carrying the apparatus 102 is only partially exposed to water,e.g., playing with a bucket of water or in the rain. In some examples, awater alert is generated by the drowning alert generation component 502when submersion signals are received more times than the presetthreshold number of times during the time. The water alert may begenerated to indicate that the user carrying the apparatus 102 is in thewater but no drowning is detected yet. This may be useful to alert theparent to be cautious that the child carrying the apparatus may be inpotential danger of drowning or other water related hazards since thechild is being exposed to water.

Returning to FIG. 5, the acceleration signature detection component 504may be configured to detect an acceleration signature based on theacceleration signal. The acceleration signatures detected by theacceleration signature detection component 504 may include the drowningsignature described above and herein, an abduction accelerationsignature, a neutral acceleration signature, and/or any otheracceleration signatures. The abduction acceleration signature may bedetected by the acceleration signature detection component 504 when theacceleration by the apparatus 102 as indicated by the accelerationsignal(s) received from the accelerometer 206 matches at least one ofone or more predefined abduction acceleration signatures. The one ormore predefined abduction acceleration signatures may be predefined bythe user (e.g., a parent), the manufacturer of apparatus 102, anadministrator of a safety standard body or service provider, and/or anyother entity related to apparatus 102. The predefined one or moreabduction acceleration signatures may be stored in an electronic storagecomponent included in or coupled to the apparatus 102 such as a flashmemory. A given one of the predefined abduction acceleration signaturesmay reflect an acceleration pattern typical of an abduction situation.For example, such an abduction acceleration signature may specify anacceleration pattern of abrupt direction changes over a threshold numberof times (e.g., 20 times) in a short time period (e.g., in one minute),which may indicate that the user carrying apparatus 102 is strugglingwith the abductor(s). As another example, such an abduction accelerationsignature may specify an acceleration pattern of abrupt directionchanges over a threshold number of times with average accelerationduring that period over an upper limit and followed by no accelerationduring the next time period, which may indicate the abductor(s) may havetaken control of the user carrying the apparatus 102 after the struggle.As another example, a predefined abduction acceleration signature mayreflect an acceleration and/or velocity pattern that is associated witha vehicle leaving an abduction location (e.g., rapid acceleration andhigh velocity).

The neutral acceleration signature may be detected by the accelerationsignature detection component 504 when the acceleration by the apparatus102 as indicated by the acceleration signal(s) received from theaccelerometer 206 matches at least one of one or more predefined neutralacceleration signatures. The one or more predefined neutral accelerationsignatures may be predefined by the user (e.g., a parent), themanufacturer of apparatus 102, an administrator of a safety standardbody or service provider, and/or any other entity related to apparatus102. The predefined one or more neutral acceleration signatures may bestored in an electronic storage component included in or coupled to theapparatus 102 such as a flash memory. A given one of the predefinedneutral acceleration signatures may reflect an acceleration patterntypical of a neutral (normal or expected acceleration situation, such aswalking running, biking or riding in a vehicle. For example, such aneutral acceleration signature may specify an acceleration pattern of anaverage acceleration during a time period when the user carrying theapparatus 102 starts running.

The water depth determination component 512 may be configured todetermine whether the depth of the apparatus 102 exceeds a predetermineddepth in a body of water when the submersion signal is received. Inimplementations, the water depth determination component 512 may beconfigured to receive the depth signal from the water pressure sensor208 and determine the depth of the apparatus 102 in the body of waterbased on the depth signal.

FIG. 7 illustrates an exemplary process 700 for generating a drowningalert. Process 700 is similar to process 600 except that it takes intoaccount the depth of the apparatus 102 when generating the drowningalert. In the interest of brevity, FIG. 7 will be described with respectto the differences from process 600 illustrated in FIG. 6, which aredecisions 710 and 712. As shown, at decision 710, a determination may bemade whether a neutral acceleration signature is matched after it isdetermined that the number of submersion signals received during thetime period has exceeded the preset threshold value and at least anacceleration signal is received during the time period. In someimplementations, decision 710 may be implemented by an accelerationsignature generation component the same as or substantially similar tothe acceleration signature generation component 504 as described herein.At decision 712, it may be determined whether the depth of apparatus 102has exceeded a predetermined depth threshold (e.g., 6 feet into thewater) during the same time period that the acceleration signature isdetected. In some implementations, decision 712 may be implemented by awater depth determination component the same as or substantially similarto the water depth determination component 512 as described herein. Theprocess 700 provides a way to detect a drowning situation when the useris sinking in the water without thrashing (which may indicate that theuser is unconscious, for example) and generate a drowning alertaccordingly to indicate the user carrying the apparatus 102 may besinking in the body of water. This may be useful when a child isswimming in a lake or pond, and is temporarily out of sight of his/herparent(s).

Returning to FIG. 5, the geo-location boundary determination component506 may be configured to determine whether the apparatus 102 is outsidethe boundaries of one or more predefined geographical areas. This mayinvolve receiving location boundary information for boundaries of one ormore areas. For example, the geo-location boundary determinationcomponent 506 may be configured to receive such information from theclient device 104 associated with the apparatus 102, from the server106, and/or from any other components. As illustration, withoutlimitation, the user of the client device 104, e.g., a parent, may setthe boundaries of geo-location area(s) in which the parent wants his/herchild (i.e., the user carrying the apparatus 102) to remain. Thegeo-location boundary determination component 506 may receive suchinformation from the client device 104 during a configuration stage ofthe apparatus 102 or dynamically when the parent wishes to set theboundaries from the client device 104. The determination whether theapparatus 102 is outside the boundaries by the geo-location boundarydetermination component 506 may involve comparing the locationcoordinates provided by the geo-location receiver 212 with the receivedboundary information periodically. In the event when the geo-locationboundary determination component 506 detects the location coordinates isare outside the perimeters of the boundaries of the one or more areas,the geo-location boundary determination component 506 may be configuredto generate an out-of-boundary alert to indicate such.

The wandering alert generation component 508 may be configured togenerate a wandering alert when the apparatus 102 is determined to beoutside/inside the boundaries of the one or more geo-location areas anda neutral acceleration signature is detected in the same time period. Insome implementations, the wandering alert generation component 508 maybe configured to monitor whether an out-of-boundary alert is generatedby the geo-location boundary determination component 506. In the eventwhen the out-of-boundary alert is generated by the geo-location boundarydetermination component 506, the wandering alert generation component508 may be configured to poll the acceleration signature generationcomponent 504 to determine whether a neutral acceleration signature(e.g., a neutral acceleration signature indicating the user carrying theapparatus 102 is walking, running or biking) is matched. In the eventwhen such a neutral acceleration signature is detected, the wanderingalert generation component 508 may be configured to generate thewandering alert. This may be useful to avoid a false alert when a childcarrying the apparatus 102 is only temporarily out of the presetboundaries, and to generate a wandering alert when the child is out ofthe boundaries with neutral acceleration over a predetermined timeperiod. In some implementations, the wandering alert generationcomponent 508 may be configured to monitor whether a user carryingapparatus 102 is inside boundaries of one or more restricted areas, suchas lakes or railway tracks, and generate a wandering alert when such anevent is detected in the same time period during which a neutralacceleration signature is matched.

The abduction alert generation component 510 may be configured togenerate an abduction alert when the apparatus 102 is determined to beoutside the boundary of the one or more areas and an abductionacceleration signature is detected in the same time period. In someimplementations, the abduction alert generation component 510 may beconfigured to monitor whether an out-of-boundary alert is generated bythe geo-location boundary determination component 506. In the event whenthe out-of-boundary alert is generated by the geo-location boundarydetermination component 506, the abduction alert generation component510 may be configured to poll the acceleration signature generationcomponent 504 to determine whether an abduction acceleration signatureis matched. In the event when an abduction acceleration signature isdetected, the abduction alert generation component 510 may be configuredto generate the abduction alert. This may be useful to avoid a falsealert when a child carrying the apparatus 102 is only temporarily out ofthe preset boundaries, and to generate an abduction alert when the childis going out of the boundaries with acceleration indicating an abductionsituation over a predetermined time period.

FIG. 8 illustrates a flow diagram of one exemplary process forgenerating a wandering alert and an abduction alert in accordance withthe disclosure. The operations of method 800 presented below areintended to be illustrative. In some embodiments, method 800 may beaccomplished with one or more additional operations not described and/orwithout one or more of the operations discussed. Additionally, the orderin which the operations of method 800 are illustrated in FIG. 5 anddescribed below is not intended to be limiting.

In some embodiments, method 800 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 800 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 800.

At an operation 802, boundary information regarding boundaries of one ormore areas may be received. As described herein, the boundaryinformation may be received from the client device 104 associated withthe apparatus 102, from the server 106, and/or from any other component.In some implementations, operation 802 may be performed by ageo-location boundary determination component the same as orsubstantially similar to the geo-location boundary determinationcomponent 506 described and illustrated herein.

At an operation 804, location coordinates may be determined based ongeo-location signals received from a geo-location receiver such as thegeo-location receiver 212. In some implementations, operation 804 may beperformed by a geo-location boundary determination component the same asor substantially similar to the geo-location boundary determinationcomponent 506 described and illustrated herein.

At decision 806, a determination may be made whether the location of theapparatus is outside the boundaries of the one or more areas bycomparing the location coordinates determined at operation 804 with theboundary information received at operation 802. In some implementations,operation 806 may be performed by a geo-location boundary determinationcomponent the same as or substantially similar to the geo-locationboundary determination component 506 described and illustrated herein.

At decision 808, a determination whether an abduction accelerationsignature is detected may be made. As shown, in the case where it isdetermined that an abduction acceleration signature is detected, theprocess proceeds to operation 814 to generate an abduction accelerationalert; and in the case where it is determined that an abductionacceleration signature is not detected, the process proceeds to decision810. In some implementations, operation 808 may be performed by anabduction alert generation component the same as or substantiallysimilar to the abduction alert generation component 510 described andillustrated herein.

At decision 810, a determination whether a neutral accelerationsignature is detected may be made. As shown, in the case where it isdetermined that a neutral acceleration signature is detected, theprocess proceeds to operation 812 to generate a wandering alert; and inthe case where it is determined that a neutral acceleration signature isnot detected, the process proceeds back to operation 804. In someimplementations, operation 808 may be performed by a wandering alertgeneration component the same as or substantially similar to thewandering alert generation component 508 described and illustratedherein.

At operation 812, a wandering alert may be generated in response to thedetection of a neutral acceleration signature at operation 810 and thedetermination that the apparatus 102 is out of the boundaries at 806 inthe same time period. In some implementations, operation 812 may beperformed by a wandering alert generation component the same as orsubstantially similar to the wandering alert generation component 508described and illustrated herein.

At operation 814, an abduction alert may be generated in response to thedetection of an abduction acceleration signature at operation 808 andthe determination that the apparatus 102 is out of the boundaries at 806in the same time period. In some implementations, operation 814 may beperformed by an abduction alert generation component the same as orsubstantially similar to the abduction alert generation component 510described and illustrated herein.

Returning to FIG. 5, the ambient temperature alert generation component514 may be configured to determine whether the ambient temperature, asindicated by the ambient temperature signals, has exceeded an upperambient temperature threshold for a predetermined time period. This mayinvolve receiving the ambient temperature signal periodically from theambient temperature sensor 204, determining the ambient temperaturemeasurement from the ambient temperature signal, and comparing themeasured ambient temperature with the upper ambient temperaturethreshold periodically. The upper ambient temperature threshold may bepreset and stored by a user (e.g., a parent), the manufacturer of theapparatus 102, an administrator of a safety standards body or serviceprovider, and/or any other entity related to the apparatus 102. Theambient temperature alert generation component 514 may be configured togenerate an over-temperature alert in response to the determination thatthe ambient temperature has exceeded the upper ambient temperaturethreshold for the predetermined time period. For example, withoutlimitation, the over-temperature alert may be generated when themeasured ambient temperature has exceeded 110 degrees Fahrenheit formore than two minutes (threshold).

The ambient temperature alert generation component 514 may be configuredto determine whether the ambient temperature, as indicated by theambient temperature signals, has fallen below a lower ambienttemperature threshold for a predetermined time period. This may involvecomparing the measured ambient temperature with the lower ambienttemperature threshold periodically. The lower ambient temperaturethreshold may be preset and stored by a user (e.g., a parent), themanufacturer of the apparatus 102, an administrator of a safetystandards body or service provider, and/or any other entity related tothe apparatus 102. The ambient temperature alert generation component514 may be configured to generate an under-temperature alert in responseto the determination that the ambient temperature has fallen below alower ambient temperature threshold for the predetermined time period.For example, without limitation, the under-temperature alert may begenerated when the measured ambient temperate has fallen below −30degrees Fahrenheit for more than five minutes (threshold).

It should be appreciated that although components 502, 504, 506, 508,510, 512, 514 are illustrated in FIG. 5 as being co-located within asingle processing unit 210, in implementations in which processor 210includes multiple processing units, one or more of components 502, 504,506, 508, 510, 512, 514 may be located remotely from the othercomponents. The description of the functionality provided by thedifferent components 502, 504, 506, 508, 510, 512, 514 described hereinis for illustrative purposes, and is not intended to be limiting, as anyof components 502, 504, 506, 508, 510, 512, 514 may provide more or lessfunctionality than is described. For example, one or more of components502, 504, 506, 508, 510, 512, 514 may be eliminated, and some or all ofits functionality may be provided by other ones of components 502, 504,506, 508, 510, 512, 514. As another example, processor 128 may beconfigured to execute one or more additional components that may performsome or all of the functionality attributed below to one of components502, 504, 506, 508, 510, 512, 514.

In some implementations, the processor 210 may be configured to detectthat the body temperature of the user carrying apparatus 102, asindicated by the body temperature signal generated by a body temperaturesensor included in the apparatus 102, exceeds a predeterminedupper-limit body temperature and generate a hyperthermia alert when suchan event is detected. In some implementations, the processor 210 may beconfigured to detect that the body temperature of the user carryingapparatus 102, as indicated by the body temperature signal generated bya body temperature sensor included in the apparatus 102, falls below apredetermined lower body temperature limit and generate a hypothermiaalert when such an event is detected.

In some implementations, the processor 210 may be configured to detectthat the heart rate of the user carrying the apparatus 102, as indicatedby the heart rate signal generated by a heart-rate sensor included inthe apparatus 102, exceeds a predetermined upper-limit heart rate andgenerate an over-heart-rate alert when such an event is detected. Inthose examples, the apparatus may be configured to detect that the heartrate of the user, as indicated by the heart rate signal, drops below apredetermined lower-limit heart rate and generate a low-heart-rate alertwhen such an event is detected.

Returning to FIG. 2, as shown the apparatus 102 may include one or morewireless transceivers 214 configured to transmit data from the apparatus102 via corresponding antenna 218. The wireless transceivers 214 mayinclude a WIFI, a Bluetooth, an LTE, a GSM, and/or any other wirelesstransceivers. As shown the wireless transceivers 214 may be coupled tothe processor 210, which may be configured to effectuate transmission ofvarious alerts generated by the processor 210 described above via thewireless transceivers 214.

As also shown, the apparatus 102 may include one or more switches 216such as switches 216 a, b and n. As shown in this example, withoutlimitation, the switch 216 a is an emergency assistance (SOS) button.When pressed, the switch 216 a may cause the processor 210 to send anSMS alert to one or more predefined telephone numbers with the locationof the apparatus 102 determined from the geo-location signals receivedby the geo-location receiver 212.

In this example, the switch 216 b is a lock switch. When pressed, theswitch 216 b may cause the processor 210 to lock or unlock the hardwarecomponent of the apparatus 102. In one embodiment, without limitation,the client device 104 associated with the apparatus is enabled to lockthe hardware component of the apparatus 102 by sending an SMS messagecontaining a predefined lock code. Upon receiving the SMS message, theprocessor 210 may be configured to lock the hardware component of theapparatus 102. In that example, the switch 216 b, when pressed, mayunlock the hardware component of the apparatus 102.

In this example, the switch 216 n is a power on/off switch. The switch216 n, when pressed, may cause the apparatus to power on or power off.Other examples of switches that may be included in the apparatus 102 andcorresponding functionalities are contemplated. For example, a switchmay be included in the apparatus 102 to cause the processor 210 todetect whether continuity of a circuit in the apparatus 102 isinterrupted. For instance, that switch may be extended to a circuit inthe apparatus 102 and when the apparatus 102 is forcefully removed fromthe user carrying the apparatus 102, that switch may automaticallyinterrupt the circuitry to cause the processor 210 to generate acorresponding alert.

Also shown in FIG. 2 are a connector 220 for connection to an externalcharging source, a battery 222, and a power supply 224 to supply powerto the apparatus 102. In one embodiment, without limitation, the battery222 is a rechargeable_(—)3.7V 1200 mAH Li-ion battery with a chargingcircuit such as a BQ24232 from Texas Instruments; and the power supplyis a Buck-Boost converter TPS63021 from Texas Instruments.

With various components included in the apparatus 102 having beendescribed, attention is now directed to the client device 104 shown inFIG. 1. As mentioned above, a client device 104 may be associated withone or more apparatuses 102. In some implementations, the client device104 may be configured to receive alerts from the associated withapparatus(es) 102 directly via the communications network 110 or fromthe server 106. In those implementations, the client device 104 may beconfigured to process the received alerts and present correspondingnotifications to the user of client device 104 (e.g., a parent). Forexample, without limitation, the client device 104 may be configured toreceive the drowning alert from the apparatus 102 and generate anotification such that a message indicating the user carrying theapparatus 102 may be drowning may be presented on the client device 104.For instance, such a notification may be in red, blinking with audiblealert when presented on the client device 104. As another example, theclient device 104 may be configured to receive the wandering alert fromthe apparatus 102 and generate a notification such that a messageindicating the user carrying the apparatus 102 may be wandering outsidethe preset boundaries. For instance, such a notification may bepresented in yellow text and may not be as conspicuous as thenotification indicating the user carrying the apparatus 102 is drowning.Other examples of notifications that may be generated by the clientdevice 104 in response to alerts being received from the apparatus 102are contemplated.

In some implementations, the client device 104 may be configured toprovide an interface for a user of the client device 104 (e.g., aparent) to configure the settings of the apparatus 102, the geo-locationboundary information, specific apparatus 102 to be tracked and/or toperform any other operations related to the apparatus 102 associatedwith the client device 104. FIG. 9 illustrates one example of such aninterface. As shown, the interface 900 may be provided on the clientdevice 104. The interface 900 may comprise device information boxes 902such as the boxes 902 a-b shown in FIG. 9. Each device information box902 may display an individual apparatus 102 that is associated with theclient device 104. In this example, the client device 104 is associatedwith two apparatuses 102, i.e., device #1 and device #2. The user ofclient device 104 may be enabled to add more apparatuses to beassociated with the client device 104 or remove one or more existingapparatuses 102 associated with the client device 104. In someimplementations, when the user of the client device 104 presses one ofthe boxes 902 the location information of the corresponding apparatusmay be transmitted to client device 104 for presentation.

In some implementations, a given apparatus 102 may be associated withmore than one client device 104. In those implementations, interfaces900 on the individual client devices associated with the given apparatus102 enables the users of those client devices (e.g., parent,grandparent, teacher or any other caretaker of the child carryingapparatus 102) to configure the apparatus 102.

In some implementations, a given apparatus 102 may be associated with aprimary client device 104 and one or more secondary client devices 104.In those implementations, alerts transmitted, either directly or viaserver 106, to the primary client device 104 from the given apparatus102 may be stored and managed at server 106. It is contemplated that theinterface 900 may include a control field or control fields (e.g., abutton) that requires the user of the primary device 104 (e.g., aparent) to acknowledge the alerts presented on the primary client device104 by acting on the control field(s) (e.g., pushing the button). It iscontemplated that the primary client device 104 may be configured toeffectuate transmission of the alerts from server 106 to the secondaryclient devices 104 associated with the given apparatus 102 when the userof the primary client device 104 fails to acknowledge the alerts (e.g.,fails to push the button in the interface 900). It is contemplated thatthat the alerts may be transmitted to the secondary client devices 104in a minute by minute log format for presentation to the alerts to theusers of the secondary client devices 104.

As also shown, the interface 900 may include a mode section enabling theuser of client device 104 (e.g., a parent) to select a tracking mode. Asshown, two tracking modes may be enabled by the interface 900. Theindividual tracking mode may enable the user of the client device 104 totrack the apparatuses 102 associated with the client device 104individually. For example, the user of the client device 104 may selectthis mode to receive individual alerts from the apparatuses 102associated with the client device 104 and present notifications aboutthe associated apparatus individually. The cluster tracking mode mayenable the user of the client device 104 to track the apparatuses 102associated with the client device 104 as a group. For example, in thismode, the client device 104 may receive alerts regarding the associateddevices as a group. This may be useful when the users of the associatedapparatuses 102 are engaging in a group activity. By way of example,this mode may enable a teacher (the user of the client 104) to monitorhis/her students carrying the apparatuses 102 as a group 1002 andconfigure tracking settings such as a geo-fence for the group. FIG. 10illustrates an interface 1000 implemented on the client device 104enabling the user of the client device to monitor the users ofapparatuses 102 associated with the client device 104 as a group. Asshown, a geo-fence 1001 for the group may be readily visible on a map.The geo-fence 1001 may be defined by the user of the client device 104via the geo-fence button 906 shown in FIG. 9, which, when the clustermode is selected, is applicable to the entire group 1002 of apparatuses102 associated with the client device 104. In implementations,individual apparatus 102 may be assigned a unique device identificationnumber. To enable the cluster mode, the user of client device 104 may beprompted to enter these device identification numbers, so that they maybe registered at the client device 104 or at the server 106. Theregistered device numbers may be mapped to user-defined names forexample the name of the user carrying apparatus 102, so that anotification such as “Ann out of geo-fence” can be alerted to the clientdevice 104. Once the apparatuses 102 are registered then the geo-fencewith the location of the apparatuses 102 as a cluster can be viewed asshown in FIG. 10. In some implementations, the user of client device 104may be enabled to provide a location where the users carrying theapparatuses 102 should not be near, such as electrical power lines,power stations, water tanks, and/or any other hazardous locations thatmay not be safe the users carrying the apparatuses 102. In thoseimplementations, additional Bluetooth/wireless devices may be installedthat detects the proximity of any apparatus 102 in the group that isapproaching the hazardous location. In the event of any one child or agroup of children approaching a hazardous location, a notification withnames may be presented on the client device 104, for example “Ann, Bob,Philip near tank”.

Returning to FIG. 9, the interface 900 may include a geo-fence settingbutton enabling the user of client device 104 to specify one or moregeofences for the apparatus(es) 102 associated with the client device104. For example, the user of client device 104 may be facilitated tocreate a geo-fence by pressing button 906, to manage the existinggeo-fence(s), to edit the existing geo-fence(s), to remove the existinggeo-fence(s), and/or any other operations related to the one or moregeo-fences after the user presses button 906.

As also shown, the interface 900 may include a general settings button908 enabling the user of client device 104 to configure the settings ofthe one or more apparatuses 102 associated with the client device 104.For example, the user of client device 104 may be facilitated to set athreshold upper-limit/lower-limit ambient temperature value, a thresholdupper-limit/lower-limit body temperature value, a threshold number oftimes submersion signals received during a time period to trigger thedetermination of a drowning situation described above, the length of thetime period when the over-temperature condition is detected forgenerating an over-temperature alert, and/or any other settings of theapparatus 102.

Implementations of the invention may be made in hardware, firmware,software, or various combinations thereof. The invention may also beimplemented as instructions stored on a machine-readable medium, whichmay be read and executed using one or more processing devices. In oneimplementation, machine-readable media may include various mechanismsfor storing and/or transmitting information in a form that can be readby a machine (e.g., a computing device). For example, machine-readablestorage media may include read-only memory, random access memory,magnetic disk storage media, optical storage media, flash memorydevices, and other media for storing information, and machine-readabletransmission media may include forms of propagated signals, includingcarrier waves, infrared signals, digital signals, and other media fortransmitting information. While firmware, software, routines, orinstructions may be described in the above disclosure in terms ofspecific exemplary aspects and implementations performing certainactions, it will be apparent that such descriptions are merely for thesake of convenience and that such actions in fact result from computingdevices, processing devices, processors, controllers, or other devicesor machines executing the firmware, software, routines, or instructions.

Furthermore, aspects and implementations may be described in the abovedisclosure as including particular features, structures, orcharacteristics, but it will be apparent that every aspect orimplementation may or may not necessarily include the particularfeatures, structures, or characteristics. Further, where particularfeatures, structures, or characteristics have been described inconnection with a specific aspect or implementation, it will beunderstood that such features, structures, or characteristics may beincluded with other aspects or implementations, whether or notexplicitly described. Thus, various changes and modifications may bemade to the preceding disclosure without departing from the scope orspirit of the invention, and the specification and drawings shouldtherefore be regarded as exemplary only, with the scope of the inventiondetermined solely by the appended claims.

What is claimed is:
 1. An apparatus, comprising: a processor; anaccelerometer coupled to the processor, configured to measureacceleration of the apparatus and to generate an acceleration signal;and a water sensor coupled to the processor, wherein the water sensor isconfigured to provide a first signal at a first electrical contact, andto detect the first signal at a second electrical contact when aconductive path is provided between the first electrical contact and thesecond electrical contact, wherein the water sensor is configured togenerate a submersion signal when the receiver detects the first signal,wherein the processor is further configured to: receive the submersionsignal from the water sensor, receive the acceleration signal from theaccelerometer, detect a first drowning situation when the accelerationsignal matches a drowning acceleration signature and the processorreceives the submersion signal and the acceleration signal in a firsttime period, and generate a drowning alert in response to the detectionof the first drowning situation.
 2. The apparatus of claim 1, whereinthe processor is further configured to detect at least one of anabduction acceleration signature and a neutral acceleration signaturebased on the received acceleration signal.
 3. The apparatus of claim 2,further comprising a wireless transceiver configured to transmit andreceive wireless signals, and a geo-location receiver configured toreceive geo-location signals and to provide location coordinates of theapparatus to the processor, wherein the processor is further configuredto use the wireless transceiver to transmit the location coordinates toa computing platform associated with the apparatus.
 4. The apparatus ofclaim 3, wherein the processor is further configured to receive locationboundary information for boundaries of one or more areas, and todetermine whether the apparatus is outside a boundary of the one or moreareas.
 5. The apparatus of claim 4, wherein the processor is configuredto generate a wandering alert when the processor determines that theapparatus is outside the boundary of the one or more areas and detectsthe neutral acceleration signature in a second time period.
 6. Theapparatus of claim 4, wherein the processor is configured to generate anabduction alert when the processor determines that the apparatus isoutside the boundary of the one or more areas and detects the abductionacceleration signature in a second time period.
 7. The apparatus ofclaim 2, further comprising a water pressure sensor configured tomeasure water pressure and to generate a depth signal indicating a depthof the apparatus in a body of water; and wherein the processor isfurther configured to receive the depth signal from the water pressuresensor; and detect a second drowning situation when the depth of theapparatus exceeds a predetermined depth and the acceleration signalmatches the neutral acceleration signature during the first time period.8. The apparatus of claim 7, further comprising a wireless transceiverconfigured to transmit and receive wireless signals, wherein theprocessor is further configured to use the wireless transceiver totransmit the drowning alert to a computing platform associated with theapparatus.
 9. The apparatus of claim 8, wherein the computing platformassociated with the apparatus is one of a smartphone, a computer, and aserver.
 10. The apparatus of claim 1, wherein to detect the firstdrowning situation, the processor is further configured to: compare theacceleration signal to one or more predefined drowning accelerationsignatures to determine whether they match; and determine that thenumber times the submersion signal is received by the processor exceedsa predetermined threshold during the first time period.
 11. Theapparatus of claim 1, wherein the processor is further configured togenerate a water alert in response to the reception of the submersionsignal, the water alert indicating that the apparatus is in water. 12.The apparatus of claim 1, wherein the processor is further configured todetermine that the drowning alert is not generated based on thesubmersion signal and acceleration signal.
 13. The apparatus of claim 1,further comprising an ambient temperature sensor coupled to theprocessor, the ambient temperature sensor configured to measure ambienttemperature and to generate ambient temperature signals, wherein theprocessor is further configured to: receive the ambient temperaturesignals from the ambient temperature sensor, determine whether theambient temperature, as indicated by the ambient temperature signals,has exceeded an upper ambient temperature threshold for a predeterminedtime period, and generate an over-temperature alert in response to thedetermination that the ambient temperature has exceeded the upperambient temperature threshold for the predetermined time period.
 14. Theapparatus of claim 1, further comprising an ambient temperature sensorcoupled to the processor, the ambient temperature sensor configured tomeasure ambient temperature and to generate ambient temperature signalsindicating the ambient temperature, wherein the processor is furtherconfigured to: receive the ambient temperature signals from the ambienttemperature sensor, determine whether the ambient temperature, asindicated by the ambient temperature signals, has fallen below a lowerambient temperature threshold for a predetermined time period, andgenerate an under-temperature alert in response to the determinationthat the ambient temperature has fallen below the lower ambienttemperature threshold for the predetermined time period.
 15. A methodfor tracking personal safety via an apparatus worn by a user, theapparatus comprising a processor, an accelerometer coupled to theprocessor, and a water sensor coupled to the processor, the methodcomprising: measuring acceleration of the apparatus and generating anacceleration signal; providing a first signal at a first electricalcontact of the water sensor; detecting the first signal at a secondelectrical contact of the water sensor when a conductive path isprovided by the presence of water between the first electrical contactand the second electrical contact, generating a submersion signal whenthe first signal is detected at the second electrical contact; detectinga first drowning situation when the acceleration signal matches adrowning acceleration signature and when the submersion signal and theacceleration signal are generated in a first time period, and generatinga drowning alert in response to the detection of the first drowningsituation.
 16. The method of claim 15, further comprising detecting atleast one of an abduction acceleration signature and a neutralacceleration signature based on the acceleration signal.
 17. The methodof claim 15, further comprising receiving location boundary informationfor boundaries of one or more areas, and determining whether theapparatus is outside a boundary of the one or more areas.
 18. The methodof claim 17, further comprising generating a wandering alert when it isdetermined that the apparatus is outside the boundary of the one or moreareas and the neutral acceleration signature is detected in a secondtime period.
 19. The method of claim 17, further comprising generatingan abduction alert when it is determined that the apparatus is outsidethe boundary of the one or more areas and the abduction accelerationsignature is detected in a second time period.